<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Registro extends CI_Controller {
	public function index(){
            $this->load->model("usuarios_model","usuarios",TRUE);
            $query = $this->usuarios->buscaRoles();   
            $this->load->view("masterPage",array('roles' =>$query,'accion'=>'Registro de Usuarios nuevos al Sistema de Articulación'));
	}

        public function registra($ind){
            $this->load->model("registro_model","registros",TRUE);
            $parametros = array();
            $parametros["dep"] = $this->registros->buscaDepartamento();
            $parametros["ind"] = $ind;
            switch ($ind) {
                case '2'://Empresa
                    $parametros["sector"] = $this->registros->buscaSectores();
                    $this->load->view('registroEmpresa_view',$parametros);
                    break;
                case '3'://Institucion
                    $parametros["serviciosInclu"] = $this->registros->getServInclu();
                    $this->load->view('registroInstitucion_view',$parametros);
                    break;
                case '4'://Persona
                    $parametros["aca"] = $this->registros->buscaAcademico();
                    $this->load->model("maestras_model","maestras",TRUE);
                    $parametros["transa"] = $this->maestras->transaccion();
                    $parametros["instituciones"] = $this->maestras->instituciones();
                    $this->load->view('registroPersona_view',$parametros);
                    break;

                default:
                    break;
            }
        }
        public function ciudad($dep){
            $this->load->model("registro_model","registros",TRUE);
            $ciu = $this->registros->buscaCiudad($dep);
            $this->load->view('ciudades_view',array('ciu'=>$ciu));
        }        
        public function guarda($ind,$opcEdita = ''){
            /**/
            switch ($ind) {
                case '2'://Empresa
                    $titulo = "EMPRESA";break;
                case '3'://Institucion
                    $titulo = "INSTITUCIÓN";break;
                case '4'://Persona
                    $titulo = "PERSONA";break;
                default:
                    $titulo = "";
                    break;
            }
            $this->load->model("registro_model","guardar",TRUE);
            $result = $this->guardar->guarda($ind,$opcEdita);
            switch ($result) {
                case "0":
                    $mensaje = "El usuario: '{$this->input->post('email')}' ya existe. Ingrese al sistema con éste. Si ha olvidado la contraseña elija la opción ¿Olvido su contraseña?";
                    break;
                case "1":
                    $this->load->model("maestras_model","maestras",TRUE);
                    $tmp = ($this->input->post('tipDoc'))?$this->input->post('tipDoc'):"";
                    $query = $this->maestras->buscaMaestras($titulo,array('nit'=>$this->input->post('nit'),'tip'=>$tmp),'2');
                    $username = $query->result();
                    $tit2 = ($titulo == "PERSONA")?"DOCUMENTO":"NIT";
                    $mensaje = "La $titulo con $tit2 '{$this->input->post('nit')}' ya existe con el usuario '{$username[0]->usuario}'. Ingrese al sistema con éste usuario; sí ha olvidado la contraseña elija la opción ¿Olvido su contraseña?";
                    break;
                default:
                    $mensaje = "Se ha registrado satisfactoriamente, puede ingresar con el e-mail y la contraseña que suministró";
                    break;
            }
            if($opcEdita == 'EDITA'){
                echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><script>alert(\""."Se ha modificado correctamente  la información de la $titulo"."\"); parent.location = '".site_url("inicio/logueo/")."';</script></head><html>";
            }
            else{
                echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><script>alert(\"".$mensaje."\"); parent.location = '".site_url("inicio/index/")."';</script></head><html>";
            }
        }

        public function EditaPersona($ind,$opcEdita = ''){
            /* Edita la informacion de la persona, cuando es una institucion*/
            $this->load->model("registro_model","guardar",TRUE);
            $result = $this->guardar->guardaPersonaAfiliada($ind,$opcEdita);
            $location = site_url("registrarInst/postular/RET/{$this->input->post('ofertaEditaInsti')}/{$this->input->post('transaccion')}/{$this->input->post('transa1EditaInsti')}");
            switch ($result) {
                case "0":
                    $mensaje = "El usuario: '{$this->input->post('email')}' ya existe. Ingrese al sistema con éste. Si ha olvidado la contraseña elija la opción ¿Olvido su contraseña?";
                    break;
                case "1":
                    $this->load->model("maestras_model","maestras",TRUE);
                    $tmp = ($this->input->post('tipDoc'))?$this->input->post('tipDoc'):"";
                    $query = $this->maestras->buscaMaestras("PERSONA",array('nit'=>$this->input->post('nit'),'tip'=>$tmp),'2');
                    $username = $query->result();
                    $mensaje = "La persona con documento '{$this->input->post('nit')}' ya existe con el usuario '{$username[0]->usuario}'. Ingrese al sistema con éste usuario; sí ha olvidado la contraseña elija la opción ¿Olvido su contraseña?";
                    break;
                default:
                    echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><script>alert(\""."Se ha modificado correctamente  la información del afiliado "."\"); history.back(1); </script></head><html>";
                    return;
                    break;
            }
            echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><script>alert(\"".$mensaje."\"); location = '$location';</script></head><html>";
        } //fin public function EditaPersona($ind,$opcEdita = ''){

        public function expLaboral($opc = NULL,$transaccion = NULL,$tempId = NULL){
            $this->load->model("registro_model","guardar",TRUE);
            switch ($opc) {
                case '0': //Crea un registro
                    $experiencias = $this->guardar->guardaExpLab('C');return;
                    break;
                case '1': //Edita el Registro
                    $this->guardar->guardaExpLab('E',$tempId);
                    break;
                case 'E': //Actualiza el registro
                    $this->guardar->guardaExpLab('A',$transaccion);return;
                    break;
                case 'D': //Actualiza el registro
                    $experiencias = $this->guardar->guardaExpLab('D',$transaccion);return;
                    break;
                default:
                    $this->load->model("maestras_model","maestras",TRUE);
                    $tipContra = $this->maestras->tipContratos();
                    $this->load->view('explaboral_view',array('transaccion'=>$transaccion,"tipContratos"=>$tipContra,"permisoEdita"=>$tempId));
                    break;
            }            
        } //fin public function expLaboral($opc = NULL,$transaccion = NULL,$tempId = NULL){

        public function academia($opc = NULL,$transaccion = NULL,$tempId = NULL){
            $this->load->model("registro_model","guardar",TRUE);
            $this->load->model("maestras_model","maestras",TRUE);
            $forma = $this->maestras->tipFormacion();
            $instituciones = $this->maestras->instituciones();
            switch ($opc) {
                case '0': //Crea un registro
                    $this->guardar->estudios('C');return;
                    break;
                case '1': //Edita el Registro
                    $this->guardar->estudios('E',$tempId);return;
                    break;
                case 'E': //Actualiza el registro
                    $this->guardar->estudios('A',$transaccion);return;
                    break;
                case 'D': //Actualiza el registro
                    $this->guardar->estudios('D',$transaccion);return;
                    break;
                default:
                    $this->load->view('academia_view',array('transaccion'=>$transaccion,'forma'=>$forma,"instituciones"=>$instituciones,"permisoEdita"=>$tempId));
                    break;
            }
        } //fin public function academia($opc = NULL,$transaccion = NULL,$tempId = NULL){
        public function discapacidad($opc = NULL,$transaccion = NULL,$tempId = NULL){
            $this->load->model("registro_model","guardar",TRUE);
            $this->load->model("maestras_model","maestras",TRUE);
            $disca = $this->maestras->tipDiscapacidad();
            switch ($opc) {
                case '0': //Crea un registro
                    $this->guardar->discapacidad('C');return;
                    break;
                case '1': //Edita el Registro
                    $this->guardar->discapacidad('E',$tempId);return;
                    break;
                case 'E': //Actualiza el registro
                    $this->guardar->discapacidad('A',$transaccion);return;
                    break;
                case 'D': //Actualiza el registro
                    $this->guardar->discapacidad('D',$transaccion);return;
                    break;
                default:
                    $discapacidad = $this->guardar->discapacidad('B',$transaccion);
                    $this->load->view('discapacidad_view',array('transaccion'=>$transaccion,'disca'=>$disca,"permisoEdita"=>$tempId));
                    break;
            }
        } //fin public function discapacidad($opc = NULL,$transaccion = NULL,$tempId = NULL){
        public function desAyudaTec($cla,$tip = null){
            $this->load->model("maestras_model","maestras",TRUE);
            $ciu = $this->maestras->tipAyudasTecnicas('T',$cla);
            $tmp = 'T';
            $this->load->view('tipAyudas_view',array('ciu'=>$ciu,'opc'=>$tmp));
        }
        public function adminEntidades($tip){
            $this->load->model("maestras_model","maestras",TRUE);
            $tip = $this->maestras->Administradoras($tip);
            $this->load->view('totAdministradoras_view',array('tip'=>$tip));
        }
        public function ayudasT($opc = NULL,$transaccion = NULL,$tempId = NULL){
            $experiencias = '';
            $this->load->model("registro_model","guardar",TRUE);
            $this->load->model("maestras_model","maestras",TRUE);
            $clases = $this->maestras->tipAyudasTecnicas('C');
            switch ($opc) {
                case '0': //Crea un registro
                    $experiencias = $this->guardar->ayudasTec('C');
                    break;
                case '1': //Edita el Registro
                    $this->guardar->ayudasTec('E',$tempId);
                    break;
                case 'E': //Actualiza el registro
                    $this->guardar->ayudasTec('A',$transaccion);
                    break;
                case 'D': //Elimina el registro
                    $experiencias = $this->guardar->ayudasTec('D',$transaccion);
                    break;
                default:
                    $ayudas = $this->guardar->ayudasTec('B',$transaccion);
                    $this->load->view('ayudasTec_view',array('transaccion'=>$transaccion,'experiencias' =>$ayudas,'clases'=>$clases,"permisoEdita"=>$tempId));
                    break;
            }
        } //fin public function ayudasTec($opc = NULL,$transaccion = NULL,$tempId = NULL){
        public function adminSalud($opc = NULL,$transaccion = NULL,$tempId = NULL){
            $this->load->model("registro_model","guardar",TRUE);
            $this->load->model("maestras_model","maestras",TRUE);
            $tipos = $this->maestras->tipAdministradoras();
            switch ($opc) {
                case '0': //Crea un registro
                    $experiencias = $this->guardar->adminSalud('C');
                    break;
                case '1': //Edita el Registro
                    $this->guardar->adminSalud('E',$tempId);
                    break;
                case 'E': //Actualiza el registro
                    $this->guardar->adminSalud('A',$transaccion);
                    break;
                case 'D': //Elimina el registro
                    $experiencias = $this->guardar->adminSalud('D',$transaccion);
                    break;
                default:
                    $this->load->view('adminSalud_view',array('transaccion'=>$transaccion,'tipos'=>$tipos,"permisoEdita"=>$tempId));
                    break;
            }
        } //fin public function adminSalud($opc = NULL,$transaccion = NULL,$tempId = NULL){

        public function cuenta($cuenta,$transaccion){
            $this->load->model("registro_model","guardar",TRUE);
            switch ($cuenta) {
                case 'discapacidad':
                    echo $this->guardar->countTemporal($cuenta,$transaccion);
                    return true;
                    break;

                default:
                    break;
            }
            return true;
        }
        public function guardaAdmin(){
            $this->load->model("registro_model","guardar",TRUE);
            $this->guardar->guardaAdmin();
            echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" /><script>alert(\""."Se ha modificado correctamente  la información del Administrador"."\"); parent.location = '".site_url("inicio/logueo/")."';</script></head><html>";
            return;
        }
}
